package com.example.sfm.service;

import com.example.sfm.pojo.dto.*;
import com.example.sfm.pojo.entity.Users;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.sfm.pojo.vo.LoginVo;
import com.example.sfm.pojo.vo.UserVo;
import com.example.sfm.result.PageResult;
import jakarta.servlet.http.HttpServletResponse;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author sfm
 * @since 2025-03-07
 */
public interface IUsersService extends IService<Users> {

    void createUser(UserCreateDto dto);

    PageResult<?> listUsers(UserQueryDto dto);

    void updateUser(Integer id, UserUpdateDto dto);

    void deleteUsers(List<Integer> ids);

    void resetPassword(Integer id);

    UserVo finById(Integer userId);

    void register(RegisterDto registerDto);

    LoginVo login(LoginDto loginDto);

    void changePassword(ChangePasswordDto changePasswordDto);

    void exportUsers(HttpServletResponse response, UserQueryDto dto);

    void userUpdate(UserUpdateDto2 dto);
}
